import Vue from 'vue'
//1.导入vuex
import Vuex from 'vuex'
import { createLogger } from 'vuex'
import VuexP from "vuex-persistedstate"
 import {gouwuche} from "../api/index.js" 
 import {ddresslist}    from "../api/index"

//2.注册vuex
Vue.use(Vuex)
//3.实例化并导出vuex实例
// import GouWulist from './GouWulist/GouWulist'
export default new Vuex.Store({
  state: { //负责存储数据
    tasklist:[ /*{ id: 1, name:'', status:false }*/ ],
    gouwulist:[],
    dizhilist:[]
  },
  getters: { //负责定义计算方法(类似于组件中的计算属性)

  },
  mutations: { //负责定义同步方法( 可以直接修改state中的数据 )
      getGouwuList(state,payload){
      state.gouwulist=payload
    } ,
      getDizhiList(state,payload){
        state.dizhilist=payload
      }
  },
  modules: { //实现state的模块化管理
    // GouWulist
  },
  actions:{
    // 这个context 就是stire实例对象，它里面就有很多方法
    //actions方法不能直接修改state的数据，所以他必须有个同步方法跟他配合才能修改，在这个
    bddTask(context,payload){
      ddresslist({userid:payload}).then((data)=>{
        console.log(data.data.list)
       var list = data.data.list.map(item => ({
          tel: item.phone,
          userid:item.userid,
          address:item.address,
          name:item.name,
          id:item.id
       }))
       context.commit("getDizhiList",list)
  })
    },
    addTask(context,payload){
      gouwuche({userid:payload}).then(ok=>{
        console.log(ok.data.list);
        context.commit("getGouwuList",ok.data.list)
      })
    },
    

  },
  plugins: [VuexP(), createLogger()] //配合其他插件管理state中的数据
})
